package com.xinqi.modules.user.rongyuntemp.manager.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xinqi.common.base.enums.YesNoNumberEnum;
import com.xinqi.common.mybatis.data.service.impl.BaseServiceImpl;
import com.xinqi.modules.user.rongyuntemp.domain.RongYunTokenTempEntity;
import com.xinqi.modules.user.rongyuntemp.manager.RongYunTokenTempManager;
import com.xinqi.modules.user.rongyuntemp.mapper.RongYunTokenTempMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 融云TOKEN临时表管理层
 *
 * @author: dzy
 * @date: 2023/07/17
 */
@Service
@RequiredArgsConstructor
public class RongYunTokenTempManagerImpl extends BaseServiceImpl<RongYunTokenTempMapper, RongYunTokenTempEntity> implements RongYunTokenTempManager {

    @Override
    public RongYunTokenTempEntity selectOne() {
        LambdaQueryWrapper<RongYunTokenTempEntity> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(RongYunTokenTempEntity::getStatus, YesNoNumberEnum.NO.getCode());
        wrapper.last("LIMIT 1");
        return this.baseMapper.selectOne(wrapper);
    }

    @Override
    public List<RongYunTokenTempEntity> selectList(){
        LambdaQueryWrapper<RongYunTokenTempEntity> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(RongYunTokenTempEntity::getStatus, YesNoNumberEnum.NO.getCode());
        return this.baseMapper.selectList(wrapper);
    }

    @Override
    public Boolean update(RongYunTokenTempEntity temp){
        temp.setStatus(YesNoNumberEnum.YES.getCode());
        return this.baseMapper.updateById(temp) > 0;
    }
}
